using System;
using System.Runtime.InteropServices;

using Pegasus.Windows.API.Enumerations;

namespace Pegasus.Windows.API.Structures
{
	/// <summary>
	/// Contains information about a file object 
	/// </summary>
	[StructLayout( LayoutKind.Sequential, CharSet = CharSet.Auto )]
	public struct SHFILEINFO
	{
		/// <summary></summary>
		public IntPtr hIcon;

		/// <summary></summary>
		public int IconIndex;

		/// <summary></summary>
		public SFGAO Attributes;

		/// <summary></summary>
		[MarshalAs( UnmanagedType.ByValTStr, SizeConst = WindowsConst.MAX_PATH )]
		public string DisplayName;

		/// <summary></summary>
		[MarshalAs( UnmanagedType.ByValTStr, SizeConst = 80 )]
		public string TypeName;
	}
}
